﻿/*
 *验证表单里的用户输入
 *
 *CreateBy:   Jerry
 *
 *CreateDate: 2008-09-27
 *
 *可以验证的格式:
 *             
 *  1、空字符串
 *  2、整数
 *  3、字母
 *  4、有效数字
 *  5、Email
 *  6、邮编
 *  7、身份证
 *  8、固定电话
 *  9、移动电话
 *  10、传真
 *  11、是否真实姓名
 *  12、验证是否正确的长日期
 */
 
 function $(obj)
 {
    return document.getElementById(obj);
 }
 
 //去除左右两端的空格
 function trim(str)
 {  
    return str.replace(/(^\s*)|(\s*$)/g, "");
 }
 //去除左边的空格
 function ltrim(str)
 {  
    return str.replace(/(^\s*)/g,"");
 }
 //去除右边的空格
 function rtrim(str)
 {  
    return str.replace(/(\s*$)/g,"");
 }

 
 //验证字符串是否为空
 function isEmpty(str)
 {            
    var tempStr = trim(str);        //去除空格    
    return tempStr.length == 0;     //如果length为0,则字符串为空
 }
 
 //只能为整数  不填值则不进行判断
 function isInt(num)
 {
    var temp = trim(num);
    if(temp != "")
    {
        var pattern =/^[0-9]*[1-9][0-9]*$/;
        return pattern.test(temp);
    }
    else
        return true;
 }
 
 //只能为英文字母
 function isEng()
 {
    var temp = trim(num);
    if(temp != "")
    {
        var pattern =/^[a-zA-Z]$/;
        return pattern.test(temp);
    }
    else
        return true;
 }

 
 //验证是否有效的数字 
 function isNumber(num)
 {
    var temp = trim(num);
    if(temp != "")
    {
        var re = /^\d+(?=\.{0,1}\d+$|$)/;       //var patrn=/^((-?|\+?)\d+)(\.\d+)?$/;只能为数字   
        return re.test(temp);
    }
    else
        return true;

     /*有效值为:
        alert(isNumber("1.22"))   //true
        alert(isNumber("111"))    //true
        alert(isNumber("1..22"))  //false
        alert(isNumber("1.2a2"))  //false
        alert(isNumber("1."))     //false
     */
  }
 
 
 //验证是否是有效的Email地址
 function isEmail(email)
 {
    var str = trim(email);    
    
    if(str != "")
    {
        //var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
        var pattern =/^([a-zA-Z\.0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        return pattern.test(str);       
    }
    else
        return true;
 }
 
 
 //邮编
 function isPostCode(postCode)
 {
    var str = trim(postCode);
    if(str != "")
    {
        var pattern = /^[a-zA-Z0-9 ]{3,12}$/;
        return pattern.test(str);
    }
    else
        return true;
 }
 
 
 //中国身份证号码       15或18位
 function IDCard(cardNum)
 {
    var str = trim(cardNum);
    if(str != "")
    {
        var pattern = /^(([0-9]{14}[x0-9]{1})|([0-9]{17}[x0-9]{1}))$/;
        return pattern.test(str);
    }
    else
        return true;    
 }
 
 //固定电话
 function isPhone(phone)
 {
    var str = trim(phone);
    if(str != "")
    {
        var pattern =/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
        return pattern.test(str); 
    }
    else
        return true;
 }
 
  //移动电话
  function isMobile(mobile)
  {
    var str = trim(mobile);
    if(str != "")
    {
        var pattern =/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/;
        return pattern.test(str);
    }
    else
        return true;
  }
  
  //传真
  function isFax(fax)
  {
    var str = trim(fax);
    if(str != "")
    {
        var pattern =/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
        return pattern.test(str);
    }
    else
        return true;
  }
  
  //是否真实姓名
  function isTrueName(name)
  {
    var str = trim(name);
    if(str != "")
    {
        var pattern = /^[A-Z a-z u4E00-u9FA5]+$/;
        return pattern.test(str);
    }
    else
        return true;
  }
  
  //验证是否正确的长日期 yyyy-MM-dd HH:mm:ss 形式
  function validDateTime(str) 
  { 
    if(trim(str) != "")
    {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
        var r = str.match(reg); 
        if(r==null)return false; 
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); 
    }
    else
        return true;
  } 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  